# coding:utf-8
# 指定编码为UTF-8打开文件
# 使用 with 语句管理文件对象
with open(r'd:\epean\python_learn\13.文件io\test.txt', 'r', encoding='utf-8') as f:
    print(f.read())
# try ... finally是一样的，但是代码更佳简洁，并且不必调用f.close()方法。


print("------with 相当于下面的方法------------")
try:
    f = open(r'd:\epean\python_learn\13.文件io\test.txt', 'r',encoding='utf-8')
    print(f.read())
finally:
    if f:
        f.close()

print("如果文件很大，使用read()方法一下子读到内存，内存会占满。保险起见，可以反复调用read(size)方法，每次最多读取size个字节的内容。")


#另外，调用readline()可以每次读取一行内容，调用readlines()一次读取所有内容并按行返回list：
with open(r'd:\epean\python_learn\13.文件io\test.txt', 'r',encoding='utf-8') as f:
    for line in f.readlines():
        print(line.strip())  # 把末尾的'\n'删掉